package com.sunfeng.chap1;

import java.nio.ByteBuffer;

public class Test7_1 {
    public static void main(String[] args) {
        ByteBuffer allocate = ByteBuffer.allocate(10);
        System.out.println(allocate.isDirect());
        // 直接缓冲区  就是不在jvm 创建缓冲区  直接操作硬盘中的数据
        ByteBuffer byteBuffer = ByteBuffer.allocateDirect(10);
        System.out.println(byteBuffer.isDirect());
        // 还原缓冲区状态  在缓冲区开始写数据时执行
        // 对缓冲区存储数据之前调用此方法 buffer.clear()方法不呢真真正清除 数据
        allocate.clear();
        // 对缓冲区进行翻转   首先将当前位置设置为限值 然后将位置设置为0 如若已经设置了标记则丢弃该标记
        // 向缓冲区写数据然后再从缓冲区中读取数据 就用到flip()
        allocate.flip();


    }
}
